/**
 * 格式化日期
 * @param {string|Date} date 日期对象或日期字符串
 * @returns {string} 格式化后的日期字符串
 */
export function formatDate(date) {
    if (!date) return '';
    
    // 如果是字符串，转换为Date对象
    if (typeof date === 'string') {
        date = new Date(date);
    }
    
    const now = new Date();
    const diff = now - date;
    const diffMinutes = Math.floor(diff / (1000 * 60));
    const diffHours = Math.floor(diff / (1000 * 60 * 60));
    const diffDays = Math.floor(diff / (1000 * 60 * 60 * 24));
    
    // 获取年月日
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    
    // 如果是今天
    if (diffDays === 0) {
        if (diffMinutes < 60) {
            return diffMinutes <= 1 ? '刚刚' : `${diffMinutes}分钟前`;
        }
        if (diffHours < 24) {
            return `${diffHours}小时前`;
        }
    }
    
    // 如果是昨天
    if (diffDays === 1) {
        return '昨天';
    }
    
    // 如果是前天
    if (diffDays === 2) {
        return '前天';
    }
    
    // 如果是今年
    if (year === now.getFullYear()) {
        return `${month}-${day}`;
    }
    
    // 不是今年，显示完整日期
    return `${year}-${month}-${day}`;
} 